package com.project.mq.mqserver.core;

import lombok.Data;

import java.io.Serializable;

@Data
public class BasicProperties implements Serializable {
    // 消息的唯一 id，使用 uuid 表示来表示唯一性
    private String messageId;
    //是一个消息上带有的内容,和BindingKey做匹配
    //如果当前的交换机类型是DIRECT,此时routingKey就表示要转发的队列名
    //如果当前的交换机类型是FANOUT,此时routingKey无意义
    //如果当前的交换机类型是TOPIC,此时routingKey就要和BindingKey做匹配,符合要求才能转发给相应队列
    private String routingKey;
    // 1 表示消息非持久化，2 表示消息持久化 (RabbitMQ就是这样搞得)
    private int deliveryMode = 1;

    //其实针对RabbitMQ来说,BasicProperties 还有很多其他属性,先暂时不考虑
    // 省略 getter setter
}